package city.spring.modules.reception.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 实体类：咨询记录
 *
 * @author 侯坤林
 * @date 2020-06-23 10:56:54
 */
@Data
@TableName("advisory")
public class AdvisoryEntity implements Serializable {

    /**
     * 咨询记录编号
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 老人姓名
     */
    private String oldmanId;

    /**
     * 接待人，接待用户ID（不允许直接修改）
     */
    @TableField(updateStrategy = FieldStrategy.NEVER)
    private String receptionUserId;

    /**
     * 咨询人姓名
     */
    private String name;

    /**
     * 联系电话
     */
    private String telephone;

    /**
     * 与老人关系
     */
    private String relationshipOldman;

    /**
     * 咨询日期时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date datetime;

    /**
     * 咨询方式（咨询来源：电话、网络等）
     */
    private String way;

    /**
     * 媒体渠道（通过什么来源知道的）
     */
    private String mediaChannel;

    /**
     * 咨询类型（入院咨询、费用咨询）
     */
    private String type;

    /**
     * 咨询内容
     */
    private String content;

    /**
     * 回访人
     */
    private String reviewUserId;

    /**
     * 回访日期时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date reviewDatetime;

    /**
     * 回访内容
     */
    private String reviewContent;

    /**
     * 是否回访(0：已回访，1：未回访)
     */
    private Integer isReview;

    /**
     * 乐观锁，修改次数，版本号
     */
    @Version
    private String version;

    /**
     * 创建时间
     */
    @TableField(insertStrategy = FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER)
    private Date gmtCreate;

    /**
     * 修改时间
     */
    @TableField(insertStrategy = FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER)
    private Date gmtModified;

    /**
     * 预约登记id
     */
    private String reservationId;
}